#pragma once
#include <mutex>
#include <queue>

// just declared in ".h", defined in ".cpp"
template <typename T>
class MyBuffer
{
public:
    void Put(T* p);
    T* Get();
public:
    std::mutex m_mutex;
    std::queue<T*> m_queue;
};
